package com.wxzz.elearing.user.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.wxzz.elearing.user.dto.HelpCenterDto;
import com.wxzz.elearing.user.dto.PlatformParamDto;
import com.wxzz.elearing.user.dto.PlatformParamSelDto;
import com.wxzz.elearing.user.entity.HelpCenter;
import com.wxzz.elearing.user.entity.PlatformParam;
import com.wxzz.elearing.user.vo.PlatformParamVo;
import com.wxzz.elearning.common.vo.JgPageVo;
import com.wxzz.elearning.common.vo.ReturnVO;

import java.util.List;
import java.util.Map;

public interface IPlatformParamService extends IService<PlatformParam> {

//    /**
//     * 添加或修改平台参数
//     * @param platformParam
//     * @return
//     */
//    ReturnVO savePlatformParam(PlatformParam platformParam);

    /**
     * 平台参数列表
     *
     * @return
     */
    ReturnVO listPlatformParam(PlatformParamDto platformParamDto);

    /**
     * 修改平台参数
     *
     * @param platformParam
     * @return
     */
    ReturnVO updatePlatformParam(PlatformParam platformParam);

    /**
     * 动态修改平台参数
     * @param map
     * @return
     */
    ReturnVO updatePlatformParamUnList(Map<String, String> map);

    /**
     * 查询平台参数
     *
     * @param platformParamSelDto
     * @return
     */
    ReturnVO<PlatformParam> selectOnePlatformParam(PlatformParamSelDto platformParamSelDto);

    /**
     * 新增或修改帮助中心
     *
     * @param helpCenter
     * @return
     */
    ReturnVO saveHelpCenter(HelpCenter helpCenter);

    /**
     * 查询所有小程序审核功能设置
     * @return
     */
    ReturnVO<Map<String, String>> selectPlatformParamVo();

    /**
     * 查询所有客服电话
     * @return
     */
    ReturnVO<Map<String, String>> selectPlatformParamPhoneVo();

    /**
     * 删除帮助中心
     *
     * @param helpCenterId
     * @return
     */
    ReturnVO deleteHelpCenter(Long helpCenterId);

    /**
     * 列出帮助中心
     *
     * @param helpCenterDto
     * @return
     */
    ReturnVO<JgPageVo<List<HelpCenter>>> listHelpCenter(HelpCenterDto helpCenterDto);

    /**
     * 查询帮助中心详情
     *
     * @param helpCenterId
     * @return
     */
    ReturnVO<HelpCenter> selectHelpCenterDetail(Long helpCenterId);

    /**
     * 根据key查询平台参数(远程调用)
     * @param key
     * @return
     */
    String selectOne(String key);
}
